function Map () {
   /**
    * 结构
    * @param key
    * @param value
    */
   function Struct(key,value) {
       this.key = key;
       this.value = value;
   }
 
   /**
    * 数据存放数组
    */
   this.arr = [];
   /**
    * 增加数据
    * @param key {String}
    * @param value {Object}
    */
   this.put = function (key,value) {
       for (var i = 0; i < this.arr.length; i++) {
           if (this.arr[i].key === key) {
               this.arr[i].value = value;
               return;
           }
       }
       this.arr[this.arr.length] = new Struct(key,value);
   };
   /**
    * 通过key获取数据
    * @param key {String}
    * @returns {Object}
    */
   this.get = function (key) {
       for (var i = 0; i < this.arr.length; i++) {
           if (this.arr[i].key === key) {
               return this.arr[i].value;
           }
       }
       return null;
   };
   /**
    * 删除数据
    * @param key{String}
    */
   this.remove = function (key) {
       var v;
       for (var i = 0; i < this.arr.length; i++) {
           v = this.arr[i];
           if (v.key === key) {
               this.arr.splice(i,1);
               return;
           }
       }
   };
   /**
    * 根据索引获取key,value
    * @param key{String}
    */
   this.getKey = function (index) {
	   return this.arr[index].key;
   };
   /**
    * 是否存在key
    * @param key {String}
    * @returns {boolean}
    */
   this.containsKey = function (key) {
       var v;
       for (var i = 0; i < this.arr.length; i++) {
           v = this.arr[i];
           if (v.key === key) {
               return true;
           }
       }
       return false;
   };
   /**
    * 获取map数据量
    * @returns {Number}
    */
   this.size = function () {
       return this.arr.length;
   };
   /**
    * 判断Map是否为空
    * @returns {boolean}
    */
   this.isEmpty = function () {
       return this.arr.length <= 0;
   };
   /**
    * 全部清空
    */
   this.removeAll = function () {
       this.arr = [];
   };
   /**
    * 将key值已逗号连接返回字符串
    */
   this.getKeyStr = function () {
	   var str="";
	   if(this.arr.length > 0)
		   str=this.arr[0].key;
	   for (var i = 1; i < this.arr.length; i++) {
               str+=","+this.arr[i].key;
       }
	   return str;
   };
   /**
    * 将key值已逗号连接返回字符串
    */
   this.getValueStr = function () {
	   var str="";
	   if(this.arr.length > 0)
		   str=this.arr[0].value;
	   for (var i = 1; i < this.arr.length; i++) {
               str+=","+this.arr[i].value;
       }
	   return str;
   };
}